package NK;

import java.util.*;

/**
 * @ClassName NC313
 * @Description TODO
 * @Author ZJX
 * @Date 2024/9/25 16:16
 * @Version 1.0
 */

//     https://www.nowcoder.com/practice/56ea71d1f4e94de2aaec10e985874cce?tpId=196&tqId=40269&ru=/exam/oj
//    强训 3
public class NC313 {
    public ArrayList<Integer> intersection (ArrayList<Integer> nums1, ArrayList<Integer> nums2) {
        // 将 nums1 和 nums2 转换为集合，自动去重
        Set<Integer> set1 = new HashSet<>(nums1);
        Set<Integer> set2 = new HashSet<>(nums2);

        // 结果集合，用来存储交集元素
        Set<Integer> resultSet = new HashSet<>();

        // 遍历 set1，保留在 set2 中出现的元素
        for (int num : set1) {
            if (set2.contains(num)) {
                resultSet.add(num);
            }
        }

        // 将结果集合转换为 ArrayList 返回
        return new ArrayList<>(resultSet);
    }
}
